.CodeMirror-hints {
	position: absolute;
	z-index: 10;
	overflow: hidden;
	list-style: none;
	margin: 0;
	padding: 2px;
	box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.2);
	border-radius: 3px;
	border: 1px solid silver;
	background: var(--contextmenuBackground);
	font-size: 90%;
	font-family: monospace;
	max-height: 20em;
	overflow-y: auto;
	border-radius: 5px;
}

.CodeMirror-hint {
	margin: 0;
	padding: 6px 8px;
	border-radius: 4px;
	white-space: pre;
	color: var(--contextmenuButtonText);
	cursor: pointer;
	margin: 2px;
}

li.CodeMirror-hint-active {
	background: var(--accentColor);
	color: var(--contextmenuButtonHoveringText);
}

@keyframes blink {
	0% {
	}
	50% {
		background-color: transparent;
	}
	100% {
	}
}

@keyframes show_down {
	from {
		transform: translateY(-8px);
		opacity: 0.8;
	}
	to {
		transform: translateY(0px);
		opacity: 1;
	}
}

.CodeMirror {
	color: black;
	direction: ltr;
	position: relative;
	overflow: hidden;
	z-index: 0;
	line-height: 1.6em;
	padding-right: 20px;
	user-select: none;
	pre {
		padding: 0 4px;
		-moz-border-radius: 0;
		-webkit-border-radius: 0;
		border-radius: 0;
		border-width: 0;
		background: transparent;
		margin: 0;
		white-space: pre;
		word-wrap: normal;
		line-height: inherit;
		color: inherit;
		z-index: 2;
		position: relative;
		overflow: visible;
		-webkit-tap-highlight-color: transparent;
		-webkit-font-variant-ligatures: contextual;
		font-variant-ligatures: contextual;
	}
	div.CodeMirror-secondarycursor {
		border-left: 1px solid silver;
	}
	.CodeMirror-linebackground {
		left: -100vh;
		right: -2em;
		min-width: 100vh;
		margin: 0 auto;
	}
	.CodeMirror-gutter-wrapper {
		display: flex;
		align-items: center;
		bottom: 0.8em;

		.CodeMirror-linenumber {
			flex: 1;
		}
	}
}
.CodeMirror-lines {
	padding: 4px 0;
	cursor: text;
	min-height: 1px;
}
.CodeMirror-gutters {
	background-color: #f7f7f7;
	white-space: nowrap;
	position: absolute;
	left: 0;
	top: 0;
	min-height: 100%;
	z-index: 3;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}
.CodeMirror-linenumber {
	padding: 0 2.2rem;
	min-width: 20px;
	text-align: right;
	color: #999;
	white-space: nowrap;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}
.CodeMirror-guttermarker {
	color: black;
}
.CodeMirror-guttermarker-subtle {
	color: #999;
}
.CodeMirror-cursor {
	border-left: 1px solid black;
	border-right: none;
	width: 0;
	position: absolute;
	pointer-events: none;
}
.cm-fat-cursor {
	.CodeMirror-cursor {
		width: auto;
		border: 0 !important;
		background: #7e7;
	}
	div.CodeMirror-cursors {
		z-index: 1;
	}
}
.cm-fat-cursor-mark {
	background-color: rgba(20, 255, 20, 0.5);
	-webkit-animation: blink 1.06s steps(1) infinite;
	-moz-animation: blink 1.06s steps(1) infinite;
	animation: blink 1.06s steps(1) infinite;
}
.cm-animate-fat-cursor {
	width: auto;
	border: 0;
	-webkit-animation: blink 1.06s steps(1) infinite;
	-moz-animation: blink 1.06s steps(1) infinite;
	animation: blink 1.06s steps(1) infinite;
	background-color: #7e7;
}
.cm-tab {
	display: inline-block;
	text-decoration: inherit;
	border-left: 1px solid gray;
}
.CodeMirror-rulers {
	position: absolute;
	left: 0;
	right: 0;
	top: -50px;
	bottom: -20px;
	overflow: hidden;
}
.CodeMirror-ruler {
	border-left: 1px solid #ccc;
	top: 0;
	bottom: 0;
	position: absolute;
}
.cm-s-default {
	.cm-header {
		color: blue;
	}
	.cm-quote {
		color: #090;
	}
	.cm-keyword {
		color: #708;
	}
	.cm-atom {
		color: #219;
	}
	.cm-number {
		color: #164;
	}
	.cm-def {
		color: #00f;
	}
	.cm-variable-2 {
		color: #05a;
	}
	.cm-variable-3 {
		color: #085;
	}
	.cm-type {
		color: #085;
	}
	.cm-comment {
		color: #a50;
	}
	.cm-string {
		color: #a11;
	}
	.cm-string-2 {
		color: #f50;
	}
	.cm-meta {
		color: #555;
	}
	.cm-qualifier {
		color: #555;
	}
	.cm-builtin {
		color: #30a;
	}
	.cm-bracket {
		color: #997;
	}
	.cm-tag {
		color: #170;
	}
	.cm-attribute {
		color: #00c;
	}
	.cm-hr {
		color: #999;
	}
	.cm-link {
		color: #00c;
	}
	.cm-error {
		color: #f00;
	}
}
.cm-negative {
	color: #d44;
}
.cm-positive {
	color: #292;
}
.cm-header {
	font-weight: bold;
}
.cm-strong {
	font-weight: bold;
}
.cm-em {
	font-style: italic;
}
.cm-link {
	text-decoration: underline;
}
.cm-strikethrough {
	text-decoration: line-through;
}
.cm-invalidchar {
	color: #f00;
}
.CodeMirror-composing {
	border-bottom: 2px solid;
}
.CodeMirror-matchingbracket {
	outline: 1px solid red;
}
.CodeMirror-matchingtag {
	background: rgba(255, 150, 0, 0.3);
}
.CodeMirror-scroll {
	overflow: scroll !important;
	margin-bottom: -30px;
	margin-right: -30px;
	padding-bottom: 30px;
	height: 100%;
	outline: none;
	position: relative;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}
.CodeMirror-sizer {
	position: relative;
	border-right: 30px solid transparent;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}
.CodeMirror-vscrollbar {
	position: absolute;
	z-index: 6;
	display: none;
	right: 0;
	top: 0;
	overflow-x: hidden;
	overflow-y: scroll;
}
.CodeMirror-hscrollbar {
	position: absolute;
	z-index: 6;
	display: none;
	bottom: 0;
	left: 0;
	overflow-y: hidden;
	overflow-x: scroll;
}
.CodeMirror-scrollbar-filler {
	position: absolute;
	z-index: 6;
	display: none;
	right: 0;
	bottom: 0;
}
.CodeMirror-gutter-filler {
	position: absolute;
	z-index: 6;
	display: none;
	left: 0;
	bottom: 0;
}
.CodeMirror-gutter {
	white-space: normal;
	height: 100%;
	display: inline-block;
	vertical-align: top;
	margin-bottom: -30px;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}
.CodeMirror-gutter-wrapper {
	position: absolute;
	z-index: 4;
	background: none !important;
	border: none !important;
	&::selection {
		background-color: transparent;
	}
	&::-moz-selection {
		background-color: transparent;
	}
}
.CodeMirror-gutter-background {
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 4;
}
.CodeMirror-gutter-elt {
	position: absolute;
	cursor: default;
	z-index: 4;
}
.CodeMirror-wrap {
	pre {
		word-wrap: break-word;
		white-space: pre-wrap;
		word-break: normal;
	}
}
.CodeMirror-linebackground {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 0;
}
.CodeMirror-linewidget {
	position: relative;
	z-index: 2;
	padding: 0.1px;
}
.CodeMirror-rtl {
	pre {
		direction: rtl;
	}
}
.CodeMirror-code {
	outline: none;
}
.CodeMirror-measure {
	position: absolute;
	width: 100%;
	height: 0;
	overflow: hidden;
	visibility: hidden;
	pre {
		position: static;
	}
}
div.CodeMirror-cursors {
	visibility: hidden;
	position: relative;
	z-index: 3;
}
div.CodeMirror-dragcursors {
	visibility: visible;
}
.CodeMirror-focused {
	div.CodeMirror-cursors {
		visibility: visible !important;
	}
}
.CodeMirror-selected {
	background: #d9d9d9;
}
.CodeMirror-crosshair {
	cursor: crosshair;
}
.CodeMirror-line {
	&::selection {
		background: #d7d4f0;
	}
	> span {
		&::selection {
			background: #d7d4f0;
		}
		> span {
			&::selection {
				background: #d7d4f0;
			}
			&::-moz-selection {
				background: #d7d4f0;
			}
		}
		&::-moz-selection {
			background: #d7d4f0;
		}
	}
	&::-moz-selection {
		background: #d7d4f0;
	}
}
.cm-searching {
	background-color: #ffa;
	background-color: rgba(255, 255, 0, 0.4);
}
.cm-force-border {
	padding-right: 0.1px;
}
.cm-tab-wrap-hack {
	&:after {
		content: '';
	}
}
span.CodeMirror-selectedtext {
	background: none;
}
.CodeMirror-dialog {
	animation: show_down linear 0.1s;
	position: absolute;
	margin: 5px;
	right: 10px;
	width: 125px;
	display: block;
	padding: 15px;
	padding-right: 20px;
	border-radius: 8px;
	background: var(--editorDialogBackground);
	z-index: 5;
	overflow: hidden;
	color: var(--editorDialogText);
	box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2);
	font-size: 13px;
	input {
		border: none;
		outline: none;
		background: transparent;
		border: 2px solid rgba(225, 225, 225);
		border-radius: 5px;
		min-width: 2em;
		margin: 3px 0px;
		padding: 3px 7px;
	}
	.CodeMirror-search-label {
		line-height: 20px;
		bottom: 100px !important;
	}
	.CodeMirror-search-hint {
		display: none;
	}
	* {
		font-family: mainFont !important;
		color: inherit;
	}
	button {
		padding: 5px;
		border: 0;
		background: var(--buttonBackground);
	}
}
.CodeMirror-dialog-top {
	border-bottom: 1px solid transparent;
	top: 0;
}
.CodeMirror-dialog-bottom {
	border-top: 1px solid transparent;
	bottom: 0;
}
@media print {
	.CodeMirror {
		div.CodeMirror-cursors {
			visibility: hidden;
		}
	}
}

.cm-header-1 {
	font-size: 3.4em;
	line-height: 1.55em;
}

.cm-header-2 {
	font-size: 2.4em;
	line-height: 1.45em;
}

.cm-header-3 {
	font-size: 1.8em;
	line-height: 1.4em;
}
.cm-header-4 {
	font-size: 1.45em;
	line-height: 1.3em;
}

.cm-header-5 {
	font-size: 1.2em;
	line-height: 1.2em;
}

.cm-header-6 {
	font-size: 1.05em;
	line-height: inherit;
}
